package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * CgDeficDeterm generated by hbm2java
 */
@Entity
@Table(name = "CG_DEFIC_DETERM", schema = "UPET", uniqueConstraints = { @UniqueConstraint(columnNames = { "N_CASO","C_DEFICIENCIA","C_UNIDAD" }) })
public class CgDeficDeterm implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -5152884819838150231L;
	private CgDeficDetermId id;
	private TbDeficiencia tbDeficiencia;
	private TbUnidad tbUnidad;
	private CgCaso cgCaso;
	private Double vdeficiencia;
	private Date fideficiencia;
	private Date ffdeficiencia;
	private String mcorreccion;
	private String cusuario;
	private Date fhingreso;
	private Date fhmodificacion;
	private Integer bingresoExtra;
	private Set<CgSancionCaso> cgSancionCasos = new HashSet<CgSancionCaso>(0);

	public CgDeficDeterm() {
	}

	public CgDeficDeterm(CgDeficDetermId id, TbDeficiencia tbDeficiencia,
			CgCaso cgCaso, String mcorreccion, String cusuario, Date fhingreso,
			Date fhmodificacion, Integer bingresoExtra) {
		this.id = id;
		this.tbDeficiencia = tbDeficiencia;
		this.cgCaso = cgCaso;
		this.mcorreccion = mcorreccion;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.bingresoExtra = bingresoExtra;
	}

	public CgDeficDeterm(CgDeficDetermId id, TbDeficiencia tbDeficiencia,
			TbUnidad tbUnidad, CgCaso cgCaso, Double vdeficiencia,
			Date fideficiencia, Date ffdeficiencia, String mcorreccion,
			String cusuario, Date fhingreso, Date fhmodificacion,
			Integer bingresoExtra, Set<CgSancionCaso> cgSancionCasos) {
		this.id = id;
		this.tbDeficiencia = tbDeficiencia;
		this.tbUnidad = tbUnidad;
		this.cgCaso = cgCaso;
		this.vdeficiencia = vdeficiencia;
		this.fideficiencia = fideficiencia;
		this.ffdeficiencia = ffdeficiencia;
		this.mcorreccion = mcorreccion;
		this.cusuario = cusuario;
		this.fhingreso = fhingreso;
		this.fhmodificacion = fhmodificacion;
		this.bingresoExtra = bingresoExtra;
		this.cgSancionCasos = cgSancionCasos;
	}

	@EmbeddedId
	@AttributeOverrides( {
			@AttributeOverride(name = "ncaso", column = @Column(name = "N_CASO", nullable = false, precision = 10, scale = 0)),
			@AttributeOverride(name = "cdeficiencia", column = @Column(name = "C_DEFICIENCIA", nullable = false, length = 4)),
			@AttributeOverride(name = "cunidad", column = @Column(name = "C_UNIDAD", nullable = false, length = 5)) })
	public CgDeficDetermId getId() {
		return this.id;
	}

	public void setId(CgDeficDetermId id) {
		this.id = id;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_DEFICIENCIA", nullable = false, insertable = false, updatable = false)
	public TbDeficiencia getTbDeficiencia() {
		return this.tbDeficiencia;
	}

	public void setTbDeficiencia(TbDeficiencia tbDeficiencia) {
		this.tbDeficiencia = tbDeficiencia;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_UNIDAD", nullable = false, insertable = false, updatable = false)
	public TbUnidad getTbUnidad() {
		return this.tbUnidad;
	}

	public void setTbUnidad(TbUnidad tbUnidad) {
		this.tbUnidad = tbUnidad;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "N_CASO", nullable = false, insertable = false, updatable = false)
	public CgCaso getCgCaso() {
		return this.cgCaso;
	}

	public void setCgCaso(CgCaso cgCaso) {
		this.cgCaso = cgCaso;
	}

	@Column(name = "V_DEFICIENCIA", precision = 12)
	public Double getVdeficiencia() {
		return this.vdeficiencia;
	}

	public void setVdeficiencia(Double vdeficiencia) {
		this.vdeficiencia = vdeficiencia;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FI_DEFICIENCIA", length = 7)
	public Date getFideficiencia() {
		return this.fideficiencia;
	}

	public void setFideficiencia(Date fideficiencia) {
		this.fideficiencia = fideficiencia;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FF_DEFICIENCIA", length = 7)
	public Date getFfdeficiencia() {
		return this.ffdeficiencia;
	}

	public void setFfdeficiencia(Date ffdeficiencia) {
		this.ffdeficiencia = ffdeficiencia;
	}

	@Column(name = "M_CORRECCION", nullable = false, length = 1)
	public String getMcorreccion() {
		return this.mcorreccion;
	}

	public void setMcorreccion(String mcorreccion) {
		this.mcorreccion = mcorreccion;
	}

	@Column(name = "C_USUARIO", nullable = false, length = 30)
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", nullable = false, length = 7)
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "FH_MODIFICACION", nullable = false, length = 7)
	public Date getFhmodificacion() {
		return this.fhmodificacion;
	}

	public void setFhmodificacion(Date fhmodificacion) {
		this.fhmodificacion = fhmodificacion;
	}

	@Column(name = "B_INGRESO_EXTRA", nullable = false, precision = 1, scale = 0)
	public Integer getBingresoExtra() {
		return this.bingresoExtra;
	}

	public void setBingresoExtra(Integer bingresoExtra) {
		this.bingresoExtra = bingresoExtra;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "cgDeficDeterm")
	public Set<CgSancionCaso> getCgSancionCasos() {
		return this.cgSancionCasos;
	}

	public void setCgSancionCasos(Set<CgSancionCaso> cgSancionCasos) {
		this.cgSancionCasos = cgSancionCasos;
	}

}
